package com.ssyc.student.adapter;

import android.content.Context;
import android.view.View;
import android.widget.TextView;

import com.ssyc.common.adapter.CommonAdapter;
import com.ssyc.common.adapter.ViewHolder;
import com.ssyc.student.R;
import com.ssyc.student.bean.PunchCardInfo;

import java.util.List;

/**
 * 学生端--打卡记录GridView的适配器
 * Created by Administrator on 2018/5/3 0003.
 */

public class StCardGvAdapter extends CommonAdapter<PunchCardInfo.DataBean.LessonStateBean> {
    private Context context;
    private PrepareAndReviewClickListener listener;

    public StCardGvAdapter(Context context, List<PunchCardInfo.DataBean.LessonStateBean> datas, int layoutId, PrepareAndReviewClickListener listener) {
        super(context, datas, layoutId);
        this.context = context;
        this.listener = listener;
    }

    @Override
    public void convert(ViewHolder holder, PunchCardInfo.DataBean.LessonStateBean info) {
        //课程名称
        TextView tvLesson = holder.getView(R.id.tv_lesson);
        tvLesson.setText(info.getLesson());

        //需要根据服务器返回的状态来设置不同的背景和颜色
        //背景有三种:st_cardrecord_green_bg st_cardrecord_gray_bg st_cardrecord_white_bg
        //字体颜色有2中:白色和灰色
        //预习
        TextView tvPrepare = holder.getView(R.id.tv_prepare);
        if ("0".equals(info.getPreview())) {
            //没有学习,白色背景
            tvPrepare.setBackgroundResource(R.drawable.st_cardrecord_white_bg);
            tvPrepare.setTextColor(context.getResources().getColor(R.color.tvgray));
            tvPrepare.setEnabled(false);
        } else if ("1".equals(info.getPreview())) {
            //学习未打卡,灰色背景+白色文字
            tvPrepare.setBackgroundResource(R.drawable.st_cardrecord_gray_bg);
            tvPrepare.setTextColor(context.getResources().getColor(R.color.white));
            tvPrepare.setEnabled(true);
        } else if ("2".equals(info.getPreview())) {
            //学习已经打卡,绿色背景+白色文字
            tvPrepare.setBackgroundResource(R.drawable.st_cardrecord_green_bg);
            tvPrepare.setTextColor(context.getResources().getColor(R.color.white));
            tvPrepare.setEnabled(true);
        }

        //复习
        TextView tvReview = holder.getView(R.id.tv_review);
        if ("0".equals(info.getReview())) {
            //没有学习,白色背景
            tvReview.setBackgroundResource(R.drawable.st_cardrecord_white_bg);
            tvReview.setTextColor(context.getResources().getColor(R.color.tvgray));
            tvReview.setEnabled(false);
        } else if ("1".equals(info.getReview())) {
            //学习未打卡,灰色背景+白色文字
            tvReview.setBackgroundResource(R.drawable.st_cardrecord_gray_bg);
            tvReview.setTextColor(context.getResources().getColor(R.color.white));
            tvReview.setEnabled(true);

        } else if ("2".equals(info.getReview())) {
            //学习已经打卡,绿色背景+白色文字
            tvReview.setBackgroundResource(R.drawable.st_cardrecord_green_bg);
            tvReview.setTextColor(context.getResources().getColor(R.color.white));
            tvReview.setEnabled(true);
        }


        //设置点击事件
        //预习的点击事件打卡,切换顶部的课程展示信息
        tvPrepare.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (null != listener) {
                    listener.onPrepaerClick(holder.getPosition());
                }
            }
        });

        //复习的点击事件
        tvReview.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (null != listener) {
                    listener.onReviewClick(holder.getPosition());
                }
            }
        });

    }


    /**
     * 点击事件
     */
    public interface PrepareAndReviewClickListener {
        void onPrepaerClick(int pos);

        void onReviewClick(int pos);
    }
}
